package com.hisense.ovcloud.asop.entity.db.def;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

// Auto generate by mybatis-flex, do not modify it.
public class CustomerDeviceTableDef extends TableDef {

    public static final CustomerDeviceTableDef CUSTOMER_DEVICE = new CustomerDeviceTableDef();

    public final QueryColumn GPS = new QueryColumn(this, "gps");

    public final QueryColumn SEQ = new QueryColumn(this, "seq");

    public final QueryColumn ISSHOW = new QueryColumn(this, "isshow");

    public final QueryColumn ROOMID = new QueryColumn(this, "roomid");

    public final QueryColumn STATUS = new QueryColumn(this, "status");

    public final QueryColumn ISADMIN = new QueryColumn(this, "isadmin");

    public final QueryColumn OWNERID = new QueryColumn(this, "ownerid");

    public final QueryColumn BINDDATE = new QueryColumn(this, "binddate");

    public final QueryColumn TIMEZONE = new QueryColumn(this, "timezone");

    public final QueryColumn CUSTOMERID = new QueryColumn(this, "customerid");

    public final QueryColumn PLATFORMID = new QueryColumn(this, "platformid");

    public final QueryColumn JOINROOMTIME = new QueryColumn(this, "joinroomtime");

    public final QueryColumn CUSTOMDEVICEID = new QueryColumn(this, "customdeviceid");

    public final QueryColumn DEVICEMODULEID = new QueryColumn(this, "devicemoduleid");

    public final QueryColumn DEVICENICKNAME = new QueryColumn(this, "devicenickname");

    public final QueryColumn LAST_USED_TIME = new QueryColumn(this, "last_used_time");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{GPS, SEQ, ISSHOW, ROOMID, STATUS, ISADMIN, OWNERID, BINDDATE, TIMEZONE, CUSTOMERID, PLATFORMID, JOINROOMTIME, CUSTOMDEVICEID, DEVICEMODULEID, DEVICENICKNAME, LAST_USED_TIME};

    public CustomerDeviceTableDef() {
        super("", "customerdevice");
    }

    private CustomerDeviceTableDef(String schema, String name, String alisa) {
        super(schema, name, alisa);
    }

    public CustomerDeviceTableDef as(String alias) {
        String key = getNameWithSchema() + "." + alias;
        return getCache(key, k -> new CustomerDeviceTableDef("", "customerdevice", alias));
    }

}
